package helpers.informacion;

import helpers.Helper;
import cliente.pagina.*;
import cliente.pagina.contenido.ContenidoInformacion;
import comun.constantes.*;
import persistencia.dominio.*;
import java.util.*;
import comun.*;
import java.io.*;
import server.informacion.ControlInformacion;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class HelperInformacion extends Helper {
 ControlInformacion controlInformacion = null;
 boolean permisoLectura = false;
 boolean permisoEscritura = false;

 public HelperInformacion(Pagina pagina) {
    super(pagina);
    controlInformacion = new ControlInformacion(persistencia);
    // obtengo los permisos para el recurso
    // obtengo los permiso para el recurso
    // ya se asume que tiene el permiso porque si no podria haber llegado a esta pagina  
    this.permisoLectura = this.pagina.obtenerPermisoRecurso(this.pagina.getVistaContenido().getNombreRecurso()).compareTo(TIPO_PERMISOS.LECTURA)==0;
    this.permisoEscritura = this.pagina.obtenerPermisoRecurso(this.pagina.getVistaContenido().getNombreRecurso()).compareTo(TIPO_PERMISOS.ESCRITURA)==0;
 }

 public String modificarInformacion() throws Exception
 {
   String accion = this.pagina.getParameter(PARAMETROS_PAGINAS.ACCION);
   accion = (accion==null)?"":accion;
   String informacion = pagina.getParameter(PARAMETROS_PAGINAS.INFORMACION);
   if (accion.compareTo(ACCIONES_A_REALIZAR.MODIFICAR)==0)
      return controlInformacion.modificarInformacionAula(this.pagina.getIdAula(),this.pagina.getIdPersona(),informacion);
   return "";
 }

  /**
   * genera el html de la informaciona mostrar y/o editar
   * @return
   * @throws Exception
   */
  public String generarHTMLInformacion() throws Exception
  {
    String html = "";
      ContenidoInformacion contenidoInformacion = new ContenidoInformacion(this.pagina);
      html =    "    <form name=\"editor\" id=\"editor\" enctype=\"multipart/form-data\" method=\"post\" action=\""+
          contenidoInformacion.getPathNombrePagina()+"\" >\n";
      // paso como parametro para que no se vea en la barra de navegacion
      //    html += "  <input name=\""+PARAMETROS_PAGINAS.ID_TEXTO+"\" type=\"hidden\" class=\"cargaInput\" id=\""+texto.getId()+"\" value=\""+texto.getId()+"\" style=\"width:400px\" />\n";
      //    html += "  <input name=\""+PARAMETROS_PAGINAS.TIPO_COMUNICACION+"\" type=\"hidden\" class=\"cargaInput\" id=\""+this.contenidoComunicacionEditar.getNombreRecurso()+"\" value=\""+this.contenidoComunicacionEditar.getNombreRecurso()+"\" style=\"width:400px\" />\n";

      //    html += "          <legend>"+ this.contenidoComunicacionEditar.getAccion()+" "+contenidoComunicacionEditar.getNombreComunicacion()+"</legend>";
      html += "            <table width=\"570\"  border=\"0\" cellpadding=\"2\" cellspacing=\"2\">\n";


      html += "              <tr>\n";
      //    html += "               <td align=\"right\"><label for=\""+PARAMETROS_PAGINAS.TITULO_TEXTO+"\">T&iacute;tulo</label></td>\n";
      //    html += "               <td><input name=\""+PARAMETROS_PAGINAS.TITULO_TEXTO+"\" type=\"text\" class=\"cargaInput\" id=\"titulo\" value=\""+texto.getTitulo()+"\" "+onfocus +" style=\"width:400px\" /></td>\n";
      html += "              </tr>\n";

      server.aula.ControlAula controlAula = new server.aula.ControlAula(persistencia);

      // de acuerdo al permiso porngo el editor o muestro solamente la infomracion
      String informacion = ((AulaCompuesta)controlAula.getParticipante(this.pagina.getIdAula(),this.pagina.getIdPersona()).getAula()).getInformacion();
      informacion = (informacion==null)?"":informacion;
      if (this.isPermisoEscritura())
      {
//        html += utils.UtilsGenerarHtml.generarHTMLEditorDeTexto(PARAMETROS_PAGINAS.CONTENIDO_TEXTO,texto.getContenido(),this.pagina.getPathImagenesEditorTexto(),this.pagina.getPathJavaScript(),400);

        html += "      <tr>\n";
        html += "       <td>\n";
        html += utils.UtilsGenerarHtml.generarHTMLEditorDeTexto(PARAMETROS_PAGINAS.INFORMACION,informacion,this.pagina.getPathImagenesEditorTexto(),this.pagina.getPathJavaScript(),550,15);
        html += "       <input name=\""+PARAMETROS_PAGINAS.ACCION+"\" type=\"hidden\" class=\"cargaInput\" id=\""+ACCIONES_A_REALIZAR.MODIFICAR+"\" value=\""+ACCIONES_A_REALIZAR.MODIFICAR+"\" style=\"width:400px\" />\n";
        html += "       </td>\n";
        html += "      </tr>\n";
      }
      else
      if (this.isPermisoLectura())
        html += informacion;

      html += "              <tr>\n";
//      html += "                <td>&nbsp;</td>\n";
      if (this.isPermisoEscritura())
        html += "                <td><div align=\"left\"><input name=\"submit\" type=\"submit\" class=\"boton\" id=\"modificarInformacion\" value=\"Aceptar \" /></div></td>\n";
      html += "              </tr>\n";
      html += "            </table>\n";
      html += "    </form>\n";
      return html;
  }
  
  public boolean isPermisoEscritura() {
    return permisoEscritura;
  }
  
  public void setPermisoEscritura(boolean permisoEscritura) {
    this.permisoEscritura = permisoEscritura;
  }
  
  public boolean isPermisoLectura() {
    return permisoLectura;
  }
  
  public void setPermisoLectura(boolean permisoLectura) {
    this.permisoLectura = permisoLectura;
  }
}